


def Step_size(sig, Signal, Fiber_para, PMD_para):
    step_type = Fiber_para["step_type"]
    # 步长构造方式
    step_size = Fiber_para["step_size"]
    # 光纤长度
    Fiber_length = Fiber_para["L"]
    # 输入信号
    data = sig
    # 偏振数
    npol = Signal["polarization"]
    # 带宽
    Bandwidth_WDM = Signal["Sampling_rate"]
    # 色散系数 s^2/km
    beta_2 = Fiber_para["beta_2"]
    # 步长构造方式，对称/非对称
    ssfm_type = Fiber_para["ssfm_type"]
    # 非线性系数：1/(W*km)
    gamma = Fiber_para["gamma"]
    # 衰减系数：dB/km
    alpha_dB = Fiber_para["alpha_dB"]
    # 衰减系数：1/km
    alpha_km = Fiber_para["alpha_km"]

    # Constant_step_size
    if step_type.lower() == 'constant_step_size':
        stepsize = Fiber_para["step_size"]
    # Logarithmic_distribution_step
    if step_type.lower() == 'logarithmic_distribution_step':
        pass
    # Nonlinear_phase_rotation
    if step_type.lower() == 'nonlinear_phase_rotation':
        pass
    # Combine_LDS_and_NPR
    if step_type.lower() == 'combine_lds_and_npr':
        pass
    return stepsize